Techniques for predicting user input on touch screen devices

ABSTRACT

Techniques for determining user input on a touch screen of a user device are disclosed. In some situations, the techniques include: receiving information about a user input provided to a touch screen of a user device, the touch screen displaying two or more selectable objects, wherein each of the selectable objects, if selected, initiates a response corresponding to the selection of the object, determining a selectable object among the selectable objects that has a highest likelihood of being an object that a user intended to select with the user input, and providing a response corresponding to a selection of the determined selectable object. In one situation, a selectable object is a button or a hyperlink included in a Web page displayed on the screen of the device, and the response includes content associated with the selected button or hyperlink.

BACKGROUND

A modern-day user may have a number of various electronic devices at herdisposal, enabling the user to fully enjoy various ways of electroniccommunication, such as interactions with other users and electroniccontent, Internet browsing, and the like. For example, users may accessitems, products, video and audio content, or services through any numberof network-enabled devices, such as smart phones, desktop, laptop,tablet or other computers, PDAs, pagers, electronic organizers, Internetappliances, and various other consumer products that include appropriateinter-communication capabilities. Many of these user devices have touchsensitive screens that detect the presence and location of a user touchwithin the display area, thus allowing users to directly interact withcontent displayed on the device by touch of a finger, hand, or otherpassive objects, such as a stylus. However, touch sensitive screens maybe small and/or lack touch accuracy, and do not always provide foraccurate interpretation of a user touch input. Accordingly, providinginputs via touch sensitive screens of user devices may be prone tomistakes, which may create substantial inconvenience and cause a user'sannoyance.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an electronic environment in which variousembodiments may be implemented.

FIG. 2 illustrates a process flow diagram for user input analysis inaccordance with an embodiment.

FIG. 3 illustrates a process flow diagram for user input determinationin accordance with another embodiment.

FIG. 4 illustrates a process flow diagram for providing a response touser input on a touch screen of a user device in accordance with anembodiment.

FIG. 5 illustrates a process flow diagram for user behavior dataaggregation in accordance with an embodiment.

FIGS. 6A, 6B, and 6C illustrate example screenshots of a user interfaceprovided on a touch screen of a user device in accordance with anembodiment.

FIGS. 7A and 7B are more example screenshots of a user interfaceprovided on a touch screen of a user device in accordance with anembodiment, and FIG. 7C is a graph for probabilities of appearance ofeach letter in the alphabet that may follow a particular lettercombination.

FIGS. 8A, 8B, and 8C illustrate example screenshots of content pagesprovided on a touch screen of a user device in accordance with anembodiment.

DETAILED DESCRIPTION

Techniques are presented for predicting user input on a touch-sensitivescreen (also referred to herein as a “touch screen”) used to displaycontent with which a user may interact. For example, using such a touchscreen (e.g., as part of a user device), a user may interact with otherusers and access, view, and browse content in an electronic environmentvia interfaces displayed on the touch screen. Such displayed interfacesmay include one or more types of user-selectable objects that a user mayselect in order to obtain additional functionality (e.g., additionalcorresponding content), such as a hyperlink object, a user interfacebutton object, etc. However, a user selection of a user-selectableobject among selectable objects provided by the interface via the touchscreen may be unsuccessful if the user input is not interpreted by theuser device as corresponding to an interaction intended by the user,such as if the user input is interpreted as occurring in an area betweenselectable objects, or if the user erroneously selects a selectableobject that she did not intend to select. Accordingly, the describedtechniques use aggregated data based on prior behavior of one or moreusers in order to predict a most likely interaction performed by theuser, such as to determine a most likely one of multiple possiblecandidate selectable objects that the user has selected, or to otherwisedetermine an intended user interaction in a particular situation.

For example, suppose a user is browsing items for purchase on a Web siteof a retailer using her device. The user selects an item for purchase,adds the item to her virtual “cart,” and clicks in a vicinity of aselectable object (e.g., button) “checkout,” but not exactly on thebutton. The system determines, based, for example, on a repeatedtransaction pattern associated with an item purchase on the Web site(e.g., “select item”-“add to cart”-“checkout”) that the most likely userselection after the item selection is to select the “checkout”selectable object (e.g., rather than to select one or more otherselectable objects displayed on the screen, such as a “cancel” buttonobject or a “continue shopping” button object), and proceeds to initiatea next action corresponding to selection of the “checkout” selectableobject, such as to provide a Web page corresponding to a user requestassociated with selecting the “checkout” button. The determination thatthe “checkout” selectable object is the most likely user selection mayinclude determining a likelihood score for each of some or all of thecurrently displayed selectable objects, with the selectable objecthaving the highest likelihood score being selected as the result of theuser interaction. Such a likelihood score for a particular selectableobject may be determined based on one or more types of data, such asproximity of the user input to the displayed selectable object,information about previous actions of the user (e.g., previousinteractions performed by the user, previous preference data specifiedby the user, etc.), historical patterns of other users' interactions inanalogous situations (e.g., after selecting an “add to cart” button onthe retailer's Web site), etc.

In another example, suppose a user is typing a word (e.g., “accurate”)on a virtual keyboard provided on a touch screen of her user device,with each displayed key of the virtual keyboard being a distinctselectable object. The user inputs letters “a”, “c”, and “c”, and,instead of selecting the letter “u” on the keyboard, the usererroneously selects the letter “j”. The system (e.g., implemented as anapplication residing at least in part on the user device) may determinetransition probabilities from letter “c” to a next letter in a wordbeginning with “acc” as typed by the user. The transition probabilitiesmay be determined, for example, by using a Markov chain and/or using adictionary of common words in the English language. A determination maybe made that the most probable letter to appear after “c” in the lettercombination “acc” is “u”. Accordingly, the determined letter may appearon the screen instead of “j” typed in by the user.

A variety of techniques may be employed in a determination of a mostlikely user input on a touch screen of a user device. For example, aselection (“click”) pattern pertaining to the user may be aggregatedover time. General user behavior associated with particular types ofoperations by multiple users on a particular network resource (e.g., Website) may be aggregated. The aggregated data may be used to determine astatistical probability or other determined likelihood of a correct userinput. Various statistic-based techniques of determining probabilitiesof user selections of different selectable objects based on a user inputmay also be employed. In one example, a combination of one or moretechniques described above may be used. The results of using eachtechnique may be weighed in order to make a final determinationregarding a highest probability or other likelihood of a selection of aparticular selectable object among those considered. Thus, based onbehavior data aggregated over a period of time for one or more users maybe combined with predictive techniques related to determiningprobabilities or other likelihoods of particular user interactions inorder to determine a selectable object with the highest likelihood ofselection, to enable a corresponding response to the selection to beprovided to the user.

FIG. 1 illustrates an example of an environment 100 for implementingaspects in accordance with various embodiments. As will be appreciated,although a Web-based environment is used for purposes of explanation,different environments may be used, as appropriate, to implement variousembodiments. The environment 100 includes one or more electronic client(user) devices 110(A)-110(N), which can include any appropriate deviceoperable to send and receive requests, messages, or information over anappropriate network 120 and convey information back to a user 115 of thedevice. Examples of such client devices include personal computers, cellphones, handheld messaging devices, laptop computers, set-top boxes,personal data assistants, tablet PCs, and the like. The client devices110(A)-110(N) may include a processor 152 and memory 154 for storingprocessor-executable instructions, such as data files 160, operatingsystem 162, and one or more web applications 164 allowing the users tointeract with network resources, such as, for example, social networkingWeb sites. The devices 110(A)-110(N) may further include at least one ormore of the following elements: input/output interface or a userinterface, e.g., provided on a touch-sensitive screen of the device(s)110(A)-110(N) 156, and communication interface 158.

The network can include any appropriate network, including an intranet,the Internet, a cellular network, a local area network, or any othersuch network or combination thereof. Components used for such a systemcan depend at least in part upon the type of network and/or environmentselected. Protocols and components for communicating via such a networkare well known and will not be discussed herein in detail. Communicationover the network can be enabled by wired or wireless connections, andcombinations thereof. In this example, the network includes theInternet, and the environment includes one or more Web servers (contentprovider servers) 125 for receiving requests and serving content inresponse thereto, although for other networks, an alternative deviceserving a similar purpose could be used, as would be apparent to one ofordinary skill in the art. Content provider servers 125 may servenetwork resources, such as Web sites accessible by the users 115 of theclient devices 110(A)-110(N).

The illustrative environment 100 includes one or more applicationcomputer servers 105 including, or associated with, one or moreprocessors 130 that may be connected to a communication interface 138and a memory 132. The memory 132 may include, but is not limited to, auser input prediction application 146. The user input predictionapplication 146 may include a user input processing application module148 storing processor-executable instructions for receiving andprocessing user input provided to a touch-sensitive screen of the client(user) devices 110(A)-110(N). The user input prediction application 146may further include a user input determination application module 150storing processor-executable instructions for determining user input oruser input type based on the input provided by the user andpre-processed by the user input processing application module 148. Theuser input prediction application 146 may further include a response touser input application module 190 storing processor-executableinstructions for determining a response to user input determined by theuser input determination application module 150. The memory 132 mayfurther include a user behavior data aggregation application 192 storingprocessor-executable instructions for aggregating and storing userpersonal behavior data associated with user interactions with particularnetwork resources (e.g., Web sites) and the user device 110(A)-110(N),as well as the user's personal interaction data; user general behaviordata associated with users' interactions with particular networkresources; and input pattern data associated with spelling patterns invarious languages and transaction patterns associated with particularnetworks (e.g., electronic marketplaces). In one embodiment, the userinput prediction application 146 and user behavior data application 192may reside and/or execute on the client device 110(A)-110(N). Theapplications 146 and/or 192 could execute partially or fully on the userdevices in at least some embodiments.

The memory 132 may include a data store 144. The data store 144 maystore at least user data 180 including, but not limited to, user accountdata, which may include the user's email address, location information,and other attributes specific to the user. The user data 180 may containinformation about client devices associated with the user (e.g., deviceID). The user data 180 may be used if a user accesses a network resource(e.g., a Web site) provided by the content provider computers 125 thatrequires user registration with the network resource. The data store 144may further include aggregated user behavior data 188 containing dataaggregated by the user behavior data aggregation application 192. In oneembodiment, information stored in the data store 144 may reside, atleast in part, or be accessible by, the client device 110(A)-110(N).

The user input prediction application 146 may be configured, whenexecuted, to receive a user input provided to a touch-sensitive screenof a client (user) device 110(A)-110(N) via the user input processingapplication 148, determine user input type via the user inputdetermination application 150, and, if the input type is determined tobe other than a mistouch or a scroll, determine intended user inputbased on information associated with the user input. In the user inputdetermination, the user input prediction application may utilize userbehavior data aggregated by the user behavior data aggregationapplication 192. Once the intended user input is determined, the userinput prediction application may provide a response to the user inputvia the response to user input application module 190.

It should be understood that there can be several application servers,layers, or other elements, processes, or components, which may bechained or otherwise configured, which can perform tasks such asobtaining data from an appropriate data store. As used herein, the term“data store” refers to any device or combination of devices capable ofstoring, accessing, and retrieving data, which may include anycombination and number of data servers, databases, data storage devices,and data storage media, in any standard, distributed, or clusteredenvironment. The application server can include any appropriate hardwareand software for integrating with the data store as needed to executeaspects of one or more applications for the client device, handling amajority of the data access and business logic for an application. Theapplication server provides access control services in cooperation withthe data store, and is able to generate content such as text, graphics,audio, and/or video to be transferred to a viewer, which may be servedto the viewer by the Web server in the form of HTML, XML, or anotherappropriate structured language in this example.

The handling of requests and responses between client devices110(A)-110(N) and content providers, as well as the delivery of content172 (e.g., Web sites with which the users 115 may interact via the touchscreen of their user devices) to client (user) devices 110(A)-110(N) canbe handled by the content provider computer server(s) 125. Contentprovider computer server(s) may include an operating system thatprovides executable program instructions for the general administrationand operation of that server, and may include a computer-readable mediumstoring instructions that, when executed by a processor of the server,allow the server to perform its intended functions. Suitableimplementations for the operating system and general functionality ofthe servers are known or commercially available, and are readilyimplemented by persons having ordinary skill in the art, particularly inlight of the disclosure herein.

The data store 144 can include several separate data tables, databases,or other data storage mechanisms and media for storing data relating toa particular aspect. For example, the data store illustrated includesmechanisms for storing production data and user information. The datastore may include a mechanism for storing communication log data, whichcan be used for reporting, generating recipient groups, updatingrecipient groups, and other such purposes. It should be understood thatthere can be many other aspects that may need to be stored in the datastore, such as page image information and access right information,which can be stored in any of the above-listed mechanisms as appropriateor in additional mechanisms in the data store 144.

The environment described herein is a distributed computing environmentutilizing several computer systems and components that areinterconnected via communication links, using one or more computernetworks or direct connections. However, it will be appreciated by thoseof ordinary skill in the art that such a system could operate equallywell in a system having fewer or a greater number of components than areillustrated in FIG. 1. Thus, the depiction of the environment 100 inFIG. 1 should be taken as being illustrative in nature, and not limitedto the scope of the disclosure.

FIG. 2 is a process flow diagram for user input analysis in accordancewith an embodiment. The process 200 begins at block 202, where a userinput provided to a touch screen of the user device is received. Theuser input may be provided in a number of different ways. For example,the user may touch the screen with her finger or other selectingelement, such as a stylus. At block 210, a type of input may bedetermined with the user input determination routine described below inreference to FIG. 3. User input type may vary and depend on user factorsspecific to the user, such as user age, gender, shape of user's hand,vision, coordination, modes of operating the device (e.g., whiledriving, riding a bus, etc.) and the like. For example, a user mayhabitually “drag” her finger when clicking selectable objects on thedevice screen. The user may accidentally touch the screen or touch thescreen where the user input is not expected (“mistouch”). The user maytouch the screen in the “gray area,” such as between selectable objects(e.g., buttons on a virtual keyboard) or in an area proximate to anumber of selectable objects. The input determination routine (FIG. 3)may determine the type of user input and return the results accordingly.

When a user touches the screen in vicinity of two selectable objects,for example, a variety of methods of disambiguating between the twoselectable objects may be employed. For example, Voronoi diagrams may becreated to identify “clickable areas” associated with each selectableobject, such as a button, a hyperlink or other selectable object. A userinput within an identified “clickable area” surrounding a selectableobject may be a factor in determining an intended user input, along withother user input determination techniques described herein.

At decision block 214, it is determined whether the user input is amistouch. If the user input is determined, according to the results ofthe user input type determination (210), to be a mistouch, at block 218the user input is disregarded. Optionally, the user behavior associatedwith a mistouch may be provided for aggregation to a user behavior dataaggregation routine (FIG. 5) at block 226. If it is determined that theuser input is not a mistouch, at decision block 220 it is determined,according to the results of the user input type determination (210),whether the user input is a scroll. If the user input is determined tobe a scroll, at block 222 a response corresponding to the user scroll isindicated on the screen of the device. Optionally, the user behaviorassociated with a scroll may be provided for aggregation to the userbehavior data aggregation routine (FIG. 5) at block 226. If the userinput is determined not to be a scroll, at decision block 230 it isdetermined, according to the results of the user input typedetermination (210), whether the user input was intended to be aselection of a selectable object. If the user input was intended to be aselection, at block 234 a user input determination process occurs asdescribed in reference to FIG. 3 below. At block 238, a response to theuser input determined at block 234 is provided to the user as describedbelow in reference to FIG. 4. The input type determination may not belimited to determining whether a user input is a scroll or mistouch.Other types of input may be determined. For example, it may bedetermined whether a user input type is a “page turner,” e.g., when theuser input is aimed at moving from one page of content presented on thetouch screen to another (next) page of content.

FIG. 3 is a process flow diagram for user input determination inaccordance with an embodiment. The process 300 begins at block 302,where a request to determine user intended input or to determine userinput type is received. As described above, the user input informationmay be provided in association with a request to determine user inputtype (FIG. 2, block 210) or with a request to determine user input (FIG.2, block 234). For example, information indicating the user input(touch) that is proximate to at least two or more selectable objects onthe touch screen of a user device may be received with the request todetermine user input. In another example, information indicating theuser “scroll-like” input relative to a particular screen area may bereceived with the request to determine user input type.

At decision block 306, it is determined whether user input determinationor user input type determination is based on user personal behavior dataaggregated by the user behavior data aggregation process described belowin reference to FIG. 5. If it is determined that the user personalbehavior data should be used in the determination analysis, at block 310a determination analysis based on applicable personal user behavior datais conducted. For example, user behavior, such as input (e.g., “click”)patterns specific to the user may be used in the user input typedetermination. For example, a user may habitually “drag” her fingerbetween clicking selectable objects (e.g., buttons), such as the usermay “drag” her finger after a “click” on the first button toward thesecond button. Accordingly, it may be determined that the user intendedto only click the first button, but not both buttons, or that the userintended to scroll down and not click, depending on the user repeatedpattern of behavior. Generally, user input type determination is likelyto involve using the user personal behavior data because the userpersonal behavior data contains aggregated patterns of user inputreflecting individuality of the user based on features pertaining to theuser, such as gender, age, size of user's hand, user habits related tointeracting with touch-screen devices, and the like.

A determination of user input related to a user interacting with contentprovided, for example, by a browser associated with a user device (e.g.,smartphone) and displayed on a touch screen of the device may also bebased on user personal behavior data, although not exclusively. Userinput determination may also be based on user general behavior data asdescribed below, or a combination thereof. A decision to use the userpersonal behavior data in the user input determination may depend on atype of content accessed by the user. For example, aggregated userpreferences in selecting particular content may be applied when the userinput determination relates user accessing a particular network resource(e.g., a Web site) and attempts to select a certain type of content.User preferences may be used to determine what type of content userintended to retrieve as described in the example below.

A decision to use the user personal behavior data in the user inputdetermination may depend on a selectable object or type of object withwhich the user is interacting. For example, if the user input relates toa virtual keyboard displayed on a touch screen of a user device, it maybe determined that the user personal behavior data should be used. Forexample, user-specific dictionary having user-associated vernacular maybe used as described below in greater detail.

Consider an example of using user personal behavior data in the userinput determination. Suppose a user touches a touch screen of the userdevice in proximity to two or more hyperlinks included in a Web pagerendered by a browser on the touch screen. A hyperlink most likelyintended to be selected by the user may be determined based on theaggregated personal behavior of the user with regard to the Web page orwith regard to content that user prefers to frequent (e.g., userpersonal preferences in selecting particular types of content). Forexample, it may be determined that the user typically reads a particulartype of content (e.g., news regarding celebrities). Accordingly, if theuser touched the screen around a number of hyperlinks including onelinking to the celebrity news, it may be inferred that the user intendedto select this particular link. Content associated with the selection ofthe link may then be presented to the user as described in greaterdetail in reference to FIG. 4.

Consider another example of user input determination involving userpersonal behavior data. This example relates to a user typing on avirtual keyboard displayed on a touch screen of the user device. Toassist in user input determination in this case, a personal vocabularyof the user may be assembled, stored (as described in reference FIG. 5below), and utilized in user input determination. For example, the usermay habitually use a particular vernacular, abbreviations, and the likethat are pertinent to the user's personal preferences, her work-relatedactivities, and the like. The user may use particular acronyms thatpertain to the user's occupation. Accordingly, a personal dictionaryassociated with the user may be created over time, stored, and utilized,for example, when the user is typing a word or an acronym that isincluded in the dictionary. If the user appears to have mistyped aletter while inputting a word or acronym with a virtual keyboard, thealready entered part of the word (acronym) may be compared to the words(acronyms) stored in the dictionary and, if a match is found, the user'sincorrect input may be corrected by causing a correct letter to beentered instead of the mistyped one.

The user feedback data may be used in the user input determination. Forexample, the user personal behavior associated with the negativefeedback to user inputs provided by the techniques described herein maybe recorded and used subsequently in similar user input situations. Theuser feedback use will be described in greater detail in reference toFIGS. 4 and 5.

At decision block 314 it is determined whether user input determinationor user input type determination is based on user general behavior dataaggregated by the user behavior data aggregation process described belowin reference to FIG. 5. A decision to use the user general behavior datain the user input determination may depend on a type of content and/ornetwork resource accessed by the user. If it is determined that the usergeneral behavior data should be used in the determination analysis, atblock 318 a determination analysis based on applicable user generalbehavior data is conducted. For example, a user input may be determinedbased on aggregated user general behavior with regard to accessing aparticular network resource. Accordingly, general behavior data may beinvoked in the user input determination when the user interacts withnetwork resources frequented by other users, such as an onlinenewspaper, a social networking Web site, an online merchant Web site,and the like. General behavior data may be obtained from differentcommunities of users. For example, behavior data related to users'accessing a particular network resource may be aggregated and used inthe determination analysis. In another example, behavior data of usercommunities that are associated with the user may be utilized, such asuser's “friends” on social networking resources, members of the user'schat group, blog subscribers, and other types of user communities inwhich the user may take part.

For example, suppose a user is viewing a particular Web site rendered onthe user device. If the user touches the touch screen of the user devicein proximity to two or more hyperlinks rendered on a Web site, ahyperlink most likely intended to be selected by the user may bedetermined based on the aggregated user behavior with regard to the Website. Thus, it may be determined that a majority of users selected aparticular one of the two or more hyperlinks. It may be inferred that auser most likely intended to select the hyperlink favored by themajority of users, and the content associated with that hyperlink may bepresented to the user accordingly.

At decision block 322 it is determined whether user input determinationor user input type determination is based on input pattern dataaggregated by the user behavior data aggregation process described belowin reference to FIG. 5. Input pattern data may be used in the user inputdetermination or user input type determination in a number of differentsituations. For example, a decision to use the input pattern data in theuser input determination may depend on a type of content accessed by theuser, a type of network resource accessed by the user, and a type ofselectable object(s) with which the user is interacting (e.g., virtualkeyboard). In another example, if a user input determination relates todetermining user input type (e.g., a request to determine input type isreceived from block 210 of the user input analysis routine), the inputpattern data may always be invoked. If it is determined that the inputpattern data should be used in the user input determination or userinput type determination, at block 326 user input determination or userinput type determination based on the input pattern data is conducted.

One example of input pattern data is transaction pattern. Transactionpattern, such as a sequence of user actions associated with a particularactivity and/or particular network resource (e.g., a Web site) may bedetermined, stored and utilized for user input determination. Forexample, a transaction pattern associated with purchasing products on aWeb site may be determined and recorded. Accordingly, if a userunsuccessfully attempts to select a particular selectable object (e.g.,by touching a touch screen in a vicinity of two different links), adesired link may be identified based on the recorded transactionpattern, and the associated content presented to the user.

In another example, patterns associated with particular word spellingsmay be determined, stored, and used in an instance of user interactionwith a virtual keyboard rendered by a touch screen of a user device. Forexample, suppose a user is typing a word on a virtual keyboard renderedon the touch screen of a user device. Suppose further that a part of theword is already entered and the user is entering a letter following theones already entered. If the user mistypes the letter, a letter that hasa highest probability of following already entered letters may bedetermined based on an established spelling pattern. For example, theletter that most likely follows already entered letters in a word may beestablished using statistical probability mathematical modeling methods(e.g., Markov chain). The statistical probability methods determineprobabilities for transitioning from one letter to another based onstatistical analysis of English language words, for example. Thus, if auser is typing out a word on a virtual keyboard and the current userinput (e.g., touch) occurs in the area of four letters, each of the fourletters may be analyzed to determine a probability of appearance of theletter after the letters already input by the user. The analysis maybased on a corpus of words as spelled in the dictionary, for example. Inanother example, the user's personal dictionary aggregated as discussedabove may be used in the determination analysis. The letter with thehighest determined probability may be selected to appear on the screenas described in greater detail in reference to FIGS. 6A, 6B, and 6C.

In another example, the user-specific input pattern may be invoked inuser input type determination. User input type may vary and depend onuser factors specific to the user, such as user age, gender, shape ofuser's hand, vision, coordination, modes of operating the device (e.g.,while driving, riding a bus, etc.) and the like. Accordingly, based onthe aggregated user-specific parameters in regard to various patterns ofuser input on a touch screen of a user device, it may be determinedwhether the input type is a scroll, a mistouch, or an attempt atselecting a selectable object displayed on the touch screen of the userdevice. The results of the user input type determination may be providedto the user input analysis routine (FIG. 2) as described below.

At block 330, optionally, each component of user input determination oruser input type determination is assigned a particular weight. Forexample, as described above, user input determination in regard to aparticular network resource and/or type of content may involve userpersonal behavior data and user general behavior data. The results ofuser input determination based on either technique may be assigned aweight value corresponding to the probability of each determinationoutcome. For example, it may be determined, using user personal behaviordata, that the user intended to select a first hyperlink of the threehyperlinks included in a Web page rendered to the user on the userdevice (e.g., based on user personal preferences, for example, forcelebrity gossip). It may be further determined, using user generalbehavior data, that the user intended to select a second hyperlink ofthe three hyperlinks included in a Web page (e.g., based on a majorityof users selecting the second hyperlink, such as sports news). Both userinput determination outcomes may be assigned a weight value depending ona number of considerations. For example, it may be determined thatuser's personal preferences may typically outweigh general userpreferences. Accordingly, the first hyperlink may be assigned a weightvalue that is higher than a weight value assigned to the secondhyperlink.

At block 334 the results of the input determination analysis may befinalized. In the above example, the first hyperlink may be selected asa first option for determined user input, and the second hyperlink maybe selected as a second option for determined user input. At block 338the results of the prediction analysis are provided in response to therequest received at block 302. For example, the results of the userinput type determination may be provided to the user input process(block 210 in FIG. 2). The results of the user input determination maybe provided to the response to user input process (block 406 in FIG. 4)described below in greater detail. At block 342, the results of userinput (input type) determination may be provided for user behavior dataaggregation described in reference to FIG. 5.

FIG. 4 is a process flow diagram for providing a response to user inputon a touch screen of a user device in accordance with an embodiment. Theprocess 400 may be performed by one or more applications described inrelation to FIG. 1. For example, the process 400 may be performed byexecuting the application for providing a response to a user input incombination with the user input determination application and the userinterface application.

The process 400 begins at block 406, where user input determinationresults are received from the user input determination process (block338 in FIG. 3). For example, if a user input on a touch screen of a userdevice was detected proximate to two or more selectable objects (e.g.,hyperlinks, buttons, and the like), the probabilities for the userintended selection of each selectable object are determined as describedin reference to FIG. 3 and provided in block 406.

At decision block 410, it is determined whether the probability of userselection of each of the selectable objects is the same or similarwithin a determined margin of error. If the probability of user inputfor each of the selectable objects is determined to be the same orsimilar, or the user intended input may not be determined, the processmoves to block 416. At block 416, additional techniques assisting theuser in making an unambiguous selection of a desired selectable objecton the touch screen may be employed. For example, the selectable objectsproximate to the user input may be enlarged and rendered on the devicescreen so as to make a selection of a desired element easier for theuser. The process then moves to block 446.

If at least one probability of user selection of a selectable object isdifferent than the probabilities of user selection of other selectableobjects (e.g., higher or lower), the process moves to block 420, where aresponse associated with a user selection of the selectable object withthe highest probability of selection is provided. For example, if a userinput was provided in proximity to three hyperlinks, content associatedwith the hyperlink of the three hyperlinks that has the highestdetermined probability of user selection is rendered on the screen ofthe user device.

At decision block 426 it is determined whether a negative feedback fromthe user is received. For example, the user may realize that theprovided content is not a correct response to her intended selection. Inother words, the intended selectable object may have been identifiedincorrectly and, accordingly, a response that the user considers to beerroneous was provided. The user then may negate the erroneousselection, for example, by selecting a “back” button on the browserwhich renders the content on the user device. If the negative feedbackis not received, the process moves to block 446, where the user behaviordata corresponding to the user behavior in regard to the above processis provided for aggregation using, for example, the user behavior dataaggregation routine described below in reference to FIG. 5.

If the negative feedback is received, at decision block 440 it isdetermined whether there are any more selectable objects to consider. Inthe above example of three hyperlinks, there are two remaininghyperlinks to consider. If there are no more objects, the process againmoves to block 446, where the user negative feedback may be provided forthe user behavior data aggregation routine (FIG. 5). For example, theuser behavior associated with the negative feedback may be recorded andused subsequently should a similar situation occur. Specifically, nexttime a similar user input is received for the same selectable objects,it may be inferred from the recorded negative feedback that the user didnot intend to select a hyperlink that was negated by the user.

If it is determined at block 440 that there are more selectable objectsto consider (e.g., two remaining hyperlinks in the above example), theprocess moves to block 444, where a response associated with a selectionof the next most probable selectable object is provided. For example,content associated with the hyperlink of the two remaining hyperlinksthat has the second highest determined probability (among threehyperlinks) of user selection is rendered on the screen of the userdevice. The process then circles back to decision block 426 and the loop426-440-444 repeats until all selectable objects have been consideredand the relevant user behavior data is provided for data aggregation atblock 446. The process 400 then ends.

In an embodiment, if a determined number of negative feedbacks (e.g.,selections of the “back” button) are detected (e.g., at block 426), theuser input determination process may be terminated. Alternatively, if aconsistent trend for negative feedback is detected, the inputdetermination process may “wind down” in a gradual manner. For example,determinations regarding possible user selections may terminate afterthree negative feedbacks provided in regard to a user input. Then,determinations regarding possible user selections may terminate aftertwo negative feedbacks provided in regard to another user input.Finally, determinations regarding possible user selections may thenterminate after one negative feedback provided in regard to yet anotheruser input.

FIG. 5 is a process flow diagram for a user behavior data aggregationroutine. As described above, different types of user behavior datapertinent to personal behavior of a particular user or general userbehavior associated with a particular network resource (e.g., Web site)may be accumulated, stored, and invoked for user input typedetermination or user input determination and response to the determineduser input.

The process 500 begins at block 502, where user general behavior data inregard to selecting objects on the touch screen of a user device isaggregated. For example, user general behavior data with regard to aparticular network resource may be aggregated and used in the user inputdetermination in relation to user interaction with network resourcesfrequented by other users. For example, general user preferences inselecting particular selectable objects on particular network resourcesmay be accumulated and used in the user input determination analysis,for example. Thus, it may be determined that a majority of users tend toselect a particular hyperlink on a Web site frequented by many users.Accordingly, this information may be used in determining the mostprobable user input if the user, for example, touched an area on a touchscreen of the user device between this hyperlink and another hyperlinkthat is less likely to be selected by a majority of users.

At block 506, user personal behavior data in regard to patterns inselecting objects on the touch screen of a user device is aggregated.For example, a user behavior in relation to providing inputs on a touchscreen of a user device may be aggregated and the input (e.g., “click”)patterns specific to the user determined and stored. As described above,user click patterns may be based upon a variety of factors, including,but not limited to, user age, gender, shape of user's hand, vision,coordination, modes of operating the device (e.g., while driving, ridinga bus, etc.) and the like. A personal vocabulary, such as the words mostcommonly used by the user, user-specific expressions, abbreviations, oracronyms may also be aggregated and stored for using in the user inputdetermination process. Further, user preferences in selecting particulartypes of content in general or as relates to particular contentresources may be aggregated and stored. For example, it may bedetermined that the user typically reads a particular type of content.Accordingly, if the user touched the screen around a number ofselectable objects including one linking to the user's favorite content,it may be inferred that the user intended to select this particularhyperlink. In another example, user preferences in conducting searcheson electronic marketplaces may be also aggregated and stored for futureuse in the user input determination process.

User feedback data associated with user activities on network resourcesmay be aggregated and stored for use in the user input determinationprocess. For example, as discussed in reference to FIG. 4, the user mayprovide negative feedback regarding the user input determination andcorresponding response provided by the system. For example, if the userinput is determined to be a first selectable object among two selectableobjects that were considered, and the response to the selection of theobject is provided accordingly, the user may not accept the response ifthe response turns out to be erroneous. The user input determination maythen be adjusted in view of the feedback provided by the user and storedby the system. For example, the user input in the same selectionsituation may be determined to be a second of the two selectableobjects.

At block 510 different input patterns may be aggregated. For example,transaction patterns associated with a particular user activity on anetwork resource (e.g., a electronic marketplace) may be determined,stored and utilized for user input determination. Spelling patternsassociated with particular word spellings in languages utilized by theuser may be determined, stored, and used in an instance of userinteraction with a virtual keyboard rendered by a touch screen of a userdevice. For example, dictionaries in various languages may be stored bythe system and used in the statistical probability analysis associatedwith particular letter sequences input on a virtual keyboard by the useras described in reference to FIG. 3.

FIGS. 6A and 6B illustrate example screenshots of user interfaces 602and 618 displayed on a touch screen of a user device in accordance withan embodiment. The screenshots illustrated in FIGS. 6A and 6B are shownfor illustrative purposes only and should not be interpreted as limitingthe scope of the various embodiments. The interface 602 includes avirtual keyboard 606 displayed to the user for typing in text (e.g., atext message, email, notes and the like) that may be stored ortransmitted by the user device. As shown in FIG. 6A, the user begantyping a word 614 beginning with letters “a”, “c”, and “c.” As shown,after typing “acc,” the user is touching the screen with her finger 610in the area 612 on the keyboard 606.

As discussed above, the touch screens with low sensitivity may detect anarea 612 in which the touch occurred (e.g., an area including letters“o”, “b”, “u”, “i”, “h”, “n”, “m”, “g”, “k”, “l”, and “y” as shown inFIG. 6A). In this case, it may be determined which letter the userintended to enter. FIG. 6C is a schematic illustration of a portion 670of the area 612 with associated probability graphs 660. With referenceto FIG. 6C, each pixel (e.g., 655) on the virtual keyboard may beassigned a symbol (e.g., letter) which has the highest probability ofappearance after “acc” at that pixel. Probabilities of appearance may behighest at the centers of each selectable object (e.g., key 657). Theprobability distribution function associated with each selectable objectmay be a Gaussian function with two-dimensional domain (shown by the“bell curve” 660). For example, for the area 670 in FIG. 6C, thelikelihood of the user touching “u” may decrease with the increase of adistance from the center of the selectable object representing “u”. Thestandard deviation of the probability density function (PDF) is based onthe likelihood of the letter being the right one. At every pixel, theprobabilities for every selectable object (e.g., key 657) may bedetermined and the key that is the most probable selection of the usermay be identified.

Based on comparing the probabilities associated with each pixelcomprising selectable objects associated with each letter within thearea 612 (e.g., areas of sensitivity for “o”, “b”, “u”, “i”, “h”, “n”,“m”, “g”, “k”, “l”, and “y”) it may be determined, for example, that theuser most likely intended to select the selectable object representing“u”. Accordingly, a determination may be made that the most probableletter to appear after “c” in the letter combination “acc” is “u” andnot any other letter in the area 612 or outside of the area 612.

FIG. 6B illustrates the screenshot of the interface 618 following thedetermination of the user selection of the letter “u” 620 after “acc”determined as described above. The determined most probable letter(e.g., “u” 620) may appear on the screen 618, so that the resultingletter combination is “accu” 624.

FIGS. 7A, 7B, and 7C illustrate example screenshots of user interfaces702, 718, displayed on a touch screen of a user device in accordancewith an embodiment as well as the probability graph 730. The screenshotsillustrated in FIGS. 7A and 7B are shown for illustrative purposes onlyand should not be interpreted as limiting the scope of the variousembodiments. The interface 702 includes a virtual keyboard 707 displayedto the user for typing in text (e.g., a text message, email, notes andthe like) that may be stored or transmitted by the user device. As shownin FIG. 7A, similar to the example of FIG. 6A, the user began typing aword 714 beginning with letters “a”, “c”, and “c” with her finger 710.

Every symbol (e.g. letter) on the keyboard may be assigned a probabilityvalue corresponding to a probability of appearance of the letter afterthe letter combination “acc.” For example, generally, “e” has a highestprobability of following “acc,” “i” has a second highest probability offollowing “acc,” “l” has a third highest probability of following “acc”and so on, as shown by the graph 730. If a user touched the screen inthe keyboard area 712, the “candidates” for the user selection may beconsidered among the selectable objects indicating the letters withinthe area 712, as discussed in reference to FIG. 6A.

In one example, every selectable object within the area 712 will havethe touch detection area of the same size. Accordingly, it may bedetermined, based on the above statistical probabilities that the usermost likely intended to select the selectable element corresponding tothe letter “u” as indicated by numeral 720 in FIG. 7B. Thus, the systemmay respond to the user selection of an area 712 following the entry ofthe letters “acc” (FIG. 7A) by displaying the most probable letter toappear after “acc,” namely, “u”, as illustrated by numeral 724 in thescreenshot 718 of FIG. 7B.

In another example, a statistical probability of appearance of eachletter within the area 712 after “acc” may be determined using differenttechniques, such as using a Voronoi diagram. The touch detection areasfor each letter within the area 712, based on the Voronoi diagram, mayhave different sizes. For example, the touch detection area for “u” maybecome bigger and the touch detection area for “j” may become smaller.Accordingly, it may be determined that the letter “u” should bedisplayed following “acc” as shown by 724 in FIG. 7B.

FIGS. 8A, 8B, and 8C illustrate example screenshots of user networkpages 802, 822, and 830 displayed on a touch screen of a user device inaccordance with an embodiment. The screenshots illustrated in FIGS. 8A,8B, and 8C are shown for illustrative purposes only and should not beinterpreted as limiting the scope of the various embodiments. Page 802illustrated in FIG. 8A includes hyperlinks “Crisis in EU” 810, “SportsNews” 812, and “Jazz Festival” 814. The user is attempting to select,e.g., touching with her finger 820, a hyperlink of the three hyperlinksrendered on the touch screen. As shown, the user touches the screen withher finger 820 in an area proximate to at least two hyperlinks, 812 and814.

Because it is not clear which hyperlink the user intended to select, auser input determination technique may be applied as described above inreference to FIGS. 2-5. For example, one or more of the above describeddetermination techniques may be employed in order to determine whichhyperlink of the three is the most probable choice for the user toselect. For example, a hyperlink most likely intended to be selected bythe user may be determined based on the aggregated user behavior withregard to the Web page. Thus, it may be determined that a majority ofusers selected a particular one of the three hyperlinks, such as, forexample, “Jazz Festival” hyperlink 814. It may be inferred that a userwas most likely intending to select the same hyperlink, and the contentassociated with the most popular hyperlink among the two or morehyperlinks may be presented to the user. Alternatively or additionally,the hyperlink most likely intended to be selected by the user may bedetermined based on the user's personal pattern of behavior and/or otheruser input determination techniques as described above.

FIG. 8B illustrates a page 822 provided to the user based on thedetermination described above, namely, that the user intended to selectthe hyperlink “Jazz Festival” 814. Accordingly, the content 830associated with the hyperlink 822 is retrieved and provided for displayon the user device. However, selecting the hyperlink 822 and providingassociated content 830 may be erroneous. For example, the user did notin fact intend to select the hyperlink 814, despite the determinationthat the link 822 must have been the most probable choice of the userselection. Accordingly, if the user is dissatisfied with the responseprovided by the user input determination application, the user maynegate the response as described above, for example, by selecting a“back” button 828 as shown in FIG. 8B. The user then may be taken backto the previous screen illustrated in FIG. 8A. Alternatively, a responseto the second most probable user selection among the three hyperlinks810, 812, and 814 may be provided to the user. For example, it may bedetermined that the most probable user selection is the hyperlink 814(the choice that the user negated), the second most probable userselection is the hyperlink 812, and the third most probable userselection is the hyperlink 810. Accordingly, a response to the secondmost probable user selection (“Sports News” 812) may be provided to theuser on page 840. The response includes content 848 associated with thehyperlink 812. If a user negates the second most probable choiceprovided by the application, the user may be taken to a page includingcontent associated with the third most probable user selection, e.g.,hyperlink “Crisis in EU” 810.

As discussed above, the various embodiments can be implemented in a widevariety of operating environments which, in some cases, can include oneor more client computers, computing devices, or processing devices whichcan be used to operate any of a number of applications. Client devicescan include any of a number of general purpose personal computers, suchas desktop or laptop computers running a standard operating system, aswell as cellular, wireless, and handheld devices running mobile softwareand capable of supporting a number of networking and messagingprotocols. Such a system also can include a number of workstationsrunning any of a variety of commercially available operating systems andother known applications for purposes such as development and databasemanagement. These devices also can include other electronic devices,such as dummy terminals, thin-clients, gaming systems, and other devicescapable of communicating via a network.

Various aspects also can be implemented as part of at least one serviceor Web service, such as may be part of a service-oriented architecture.Services such as Web services can communicate using any appropriate typeof messaging, such as by using messages in extensible markup language(XML) format and exchanged using an appropriate protocol such as SOAP(derived from the “Simple Object Access Protocol”). Processes providedor executed by such services can be written in any appropriate language,such as the Web Services Description Language (WSDL). Using a languagesuch as WSDL allows for functionality such as the automated generationof client-side code in various SOAP frameworks.

Most embodiments utilize at least one network that would be familiar tothose skilled in the art for supporting communications using any of avariety of commercially available protocols, such as TCP/IP, OSI, FTP,UPnP, NFS, CIFS, and AppleTalk. The network can be, for example, a localarea network, a wide-area network, a virtual private network, theInternet, an intranet, an extranet, a public switched telephone network,an infrared network, a wireless network, and any combination thereof.

In embodiments utilizing a Web server, the Web server can run any of avariety of server or mid-tier applications, including HTTP servers, FTPservers, CGI servers, data servers, Java servers, and businessapplication servers. The server(s) also may be capable of executingprograms or scripts in response to requests from client devices, such asby executing one or more Web applications that may be implemented as oneor more scripts or programs written in any programming language, such asJava®, C, C# or C++, or any scripting language, such as Perl, Python, orTCL, as well as combinations thereof. The server(s) may also includedatabase servers, including without limitation, those commerciallyavailable from Oracle®, Microsoft®, Sybase®, and IBM®.

The environment can include a variety of data stores and other memoryand storage media as discussed above. These can reside in a variety oflocations, such as on a storage medium local to (and/or resident in) oneor more of the computers or remote from any or all of the computersacross the network. In a particular set of embodiments, the informationmay reside in a storage-area network (“SAN”) familiar to those skilledin the art. Similarly, any necessary files for performing the functionsattributed to the computers, servers, or other network devices may bestored locally and/or remotely, as appropriate. Where a system includescomputerized devices, each such device can include hardware elementsthat may be electrically coupled via a bus, the elements including, forexample, at least one central processing unit (CPU), at least one inputdevice (e.g., a mouse, keyboard, controller, touch screen, or keypad),and at least one output device (e.g., a display device, printer, orspeaker). Such a system may also include one or more storage devices,such as disk drives, optical storage devices, and solid-state storagedevices, such as random access memory (“RAM”) or read-only memory(“ROM”), as well as removable media devices, memory cards, flash cards,and the like.

Such devices also can include a computer-readable storage media reader,a communications device (e.g., a modem, a network card (wireless orwired), an infrared communication device), and working memory asdescribed above. The computer-readable storage media reader can beconnected with, or configured to receive, a computer-readable storagemedium, representing remote, local, fixed, and/or removable storagedevices, as well as storage media for temporarily and/or morepermanently containing, storing, transmitting, and retrievingcomputer-readable information. The system and various devices willinclude a number of software applications, modules, services, or otherelements located within at least one working memory device, including anoperating system and application programs, such as a client applicationor Web browser. It should be appreciated that alternate embodiments mayhave numerous variations from that described above. For example,customized hardware might also be used and/or particular elements mightbe implemented in hardware, software (including portable software, suchas applets), or both. Further, connection to other computing devicessuch as network input/output devices may be employed.

Storage media and computer-readable media for containing code, orportions of code, can include any appropriate media known or used in theart, including storage media and communication media, such as, but notlimited to, volatile and non-volatile, removable and non-removable mediaimplemented in any method or technology for storage and/or transmissionof information such as computer-readable instructions, data structures,program modules, or other data, including RAM, ROM, EEPROM, flash memoryor other memory technology, CD-ROM, digital versatile disk (DVD) orother optical storage, magnetic cassettes, magnetic tape, magnetic diskstorage or other magnetic storage devices, or any other medium which canbe used to store the desired information and which can be accessed bythe system device. Based on the disclosure and teachings providedherein, a person of ordinary skill in the art will appreciate other waysand/or methods to implement the various embodiments.

The specification and drawings are, accordingly, to be regarded in anillustrative rather than a restrictive sense. It will, however, beevident that various modifications and changes may be made thereuntowithout departing from the broader spirit and scope of the presentdisclosure as set forth in the claims.

1-25. (canceled)
 26. A computer-implemented method comprising:receiving, by one or more computer systems, information about a userinput provided by a user touching a touch screen that displays two ormore selectable objects; determining, by the one or more computersystems and in response to the user input, a first object from the twoor more selectable objects as having a highest likelihood of beingintended to be selected with the user input, and a second object fromamong the two or more selectable objects as having a second highestlikelihood of being intended to be selected with the user input;providing, by the one or more computer systems and based at least inpart on the determining, a first response to the user inputcorresponding to selection by the user of the first object; receiving,by the one or more computer systems, feedback from the user thatindicates that the first object was not intended to be selected with theuser input, without otherwise indicating which of the two or moreselectable objects was intended to be selected; and providing, by theone or more computer systems in response to the feedback and withoutfurther input from the user, a second response to the user inputcorresponding to selection by the user of the second object.
 27. Thecomputer-implemented method of claim 26 further comprising generatingaggregated data by aggregating user behavior data from multiple priortouch selections, and wherein the determining is further based in parton the generated aggregated data.
 28. The computer-implemented method ofclaim 27 wherein the generating of the aggregated data includesaggregating user behavior data from multiple users that includes userinput pattern data corresponding to transaction patterns for themultiple users.
 29. The computer-implemented method of claim 26 whereinthe two or more selectable objects include multiple selectable objectsthat are separate keys on a virtual keyboard provided on the touchscreen; wherein the determining of the first object includes, based onat least one of a personal dictionary associated with the user or astatistical analysis of spelling words in a language associated with auser device that includes the touch screen, identifying a symbol mostlikely to follow a sequence of symbols corresponding to keys alreadyselected by the user on the virtual keyboard, the sequence of symbolsforming at least a part of a word; and wherein the providing of thefirst response includes causing the identified symbol to be displayed onthe touch screen of the user device as a next symbol in the sequence ofsymbols.
 30. The computer-implemented method of claim 26 wherein the twoor more selectable objects include multiple selectable objects thatcorrespond to multiple hyperlinks included in a Web page displayed onthe touch screen, wherein the determining of the first object includesdetermining a first hyperlink; wherein the determining of the secondobject includes determining a second hyperlink; wherein the providing ofthe first response includes providing first content associated with thefirst hyperlink for display to the user on a user device; and whereinthe providing of the second response includes providing second contentassociated with the second hyperlink for display to the user on the userdevice.
 31. The computer-implemented method of claim 26 wherein thedetermining of the first object further includes using informationspecific to the user that reflects preferences of the user in selectingcontent.
 32. The computer-implemented method of claim 26 wherein the oneor more computer systems include a client device of the user on whichthe touch screen is located.
 33. The computer-implemented method ofclaim 26 wherein the two or more selectable objects include three ormore selectable objects displayed on the touch screen, and wherein themethod further comprises: determining, by the one or more computersystems and before the providing of the first response, that the firstobject and a third object of the three or more selectable objects haveassociated likelihoods of being intended to be selected with the userinput that are within a determined margin from each other; causing, bythe one or more computer systems and based on the associated likelihoodsbeing within the determined margin from each other, the first and thirdobjects to be displayed on the touch screen in an enlarged manner toenable further selection by the user of one of the first and thirdobjects; and receiving, by the one or more computer systems, anindication of the further selection by the user to select the firstobject, and wherein the providing of the first response is further basedat least in part on the further selection by the user.
 34. Thecomputer-implemented method of claim 26 further comprising determining,by the one or more computer systems, that a type of the provided userinput is not a mistouch and is not a scroll, and wherein the providingof the first response is further based at least in part on thedetermining that the type of the provided user input is not a mistouchand is not a scroll.
 35. A computer system comprising: at least onehardware processor; a touch-sensitive screen; and at least one memoryhaving computer-executable instructions that, when executed on the atleast one hardware processor, cause the at least one hardware processorto: display multiple selectable objects on the touch-sensitive screen;receive information about user input from a user on the touch-sensitivescreen that is associated with at least two objects of the multipleselectable objects; provide a first response to the user input thatcorresponds to a first object of the at least two objects having beenselected by the user input; receive feedback from the user indicatingthat the first object was not selected with the user input, wherein thereceived feedback does not otherwise indicate any of the multipleselectable objects selected by the user input; and provide, in responseto the received feedback and without further input from the user, asecond response to the user input that corresponds to a second object ofthe at least two objects having been previously selected by the userinput.
 36. The computer system of claim 35 wherein thecomputer-executable instructions further cause the at least one hardwareprocessor to aggregate user behavior data reflecting prior user behaviorof multiple previous selections of objects using prior user input, andto determine, based at least in part on the aggregated user behaviordata, a likelihood of the first object being intended to be selectedwith the user input, and wherein the providing of the first response isbased at least in part on the determined likelihood.
 37. The computersystem of claim 36 wherein the aggregating of the user behavior dataincludes aggregating user behavior data from multiple users thatincludes user input pattern data corresponding to transaction patternsfor the multiple users.
 38. The computer system of claim 36 wherein thecomputer-executable instructions further cause the at least one hardwareprocessor to determine a second likelihood of the second object beingintended to be selected with the first user input, and wherein theproviding of the first response is further based in part on thedetermined second likelihood.
 39. The computer system of claim 35wherein the computer-executable instructions further cause the at leastone hardware processor to obtain information about at least one ofpreferences of the user in selecting types of content or prior behaviorof the user with regard to accessing a particular network resource, andwherein the providing of the first response is based at least in part onthe obtained information.
 40. A non-transitory computer-readable mediumhaving computer-executable instructions stored thereon that, whenexecuted by a computer, cause the computer to: receive, by the computer,information about a user input provided by touching a touch screen of auser device that displays two or more selectable objects; determine, bythe computer, a first object from the two or more selectable objectshaving a first determined likelihood of being selected with the userinput, the first determined likelihood satisfying one or more criteria;provide, by the computer and based at least in part on the determining,a first response to the user input corresponding to selection of thefirst object; receive, by the computer, feedback indicating that thefirst object was not selected with the user input, without otherwiseindicating which of the two or more selectable objects was selected withthe user input; determine, by the computer, a second object from the twoor more selectable objects having a second determined likelihood ofbeing selected with the user input; and provide, by the computer afterthe feedback and without further input from the user and based at leastin part on the determining of the second object, a second response tothe user input corresponding to selection of the second object.
 41. Thenon-transitory computer-readable medium of claim 40 wherein thecomputer-executable instructions further cause the computer to receivethe user input and the feedback based on interactions of a user of theuser device with the touch screen, and to perform the determining of thefirst object by using a highest likelihood associated with any of thetwo or more selectable objects as part of the one or more criteria. 42.The non-transitory computer-readable medium of claim 40 wherein the userinput provided to the touch screen is based on the user touching thetouch screen in at least one location, and wherein thecomputer-executable instructions further cause the computer to storeuser behavior data associated with the received user feedback for use infuture responses to future user input.
 43. The non-transitorycomputer-readable medium of claim 40 wherein the provided secondresponse corresponds to the user input having previously selected thesecond object instead of the first object.
 44. The non-transitorycomputer-readable medium of claim 43 wherein the computer-executableinstructions further cause the computer to, before the receiving of theuser input, display a Web page on the touch screen that includes the twoor more selectable objects.
 45. The non-transitory computer-readablemedium of claim 44 wherein the providing of the first response includesproviding first content associated with selection of the first object,and wherein the providing of the second response includes providingsecond content associated with selection of the second object.